Formulaire - Saisie des notes
Exercice réalisé ci-dessous :
On désire créer un formulaire html qui permet à l’utilisateur de saisir un nombre de notes qu’il choisira. Nommer ce fichier : tpstat.html. ... etc.
Voici le code de tpstat.php :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Formulaire de Saisie des Notes</title>
<script>
function redirectSaisieNotes() {
window.location.href = "saisienotes.php";
}
</script>
</head>
<body>
<h1>Formulaire - Saisie des notes</h1>
<form action="saisienotes.php" method="post" onsubmit="redirectSaisieNotes()">
<label for="nombre_notes">Nombre de Notes :</label>
<input type="number" name="nombre_notes" id="nombre_notes" required>
<input type="submit" value="OK">
</form>
Voici le code de rentrer_notes.php :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rentrer les Notes</title>
</head>
<body>
<h1>Rentrer les Notes</h1>
<form action="calculstat.php" method="post">
<?php
if (isset($_GET["nombre_notes"])) {
$nombre_notes = (int)$_GET["nombre_notes"];
for ($i = 1; $i <= $nombre_notes; $i++) {
echo "<label for='note$i'>Note $i :</label>";
echo "<input type='number' name='note$i' id='note$i' required><br>";
}
echo "<input type='submit' value='OK'>";
}
?>
</form>
</body>
</html>
Voici le code de saisienotes.php :
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nombre_notes = isset($_POST["nombre_notes"]) ? (int)$_POST["nombre_notes"] : 0;
if ($nombre_notes > 0) {
header("Location: rentrer_notes.php?nombre_notes=$nombre_notes");
exit();
} else {
echo "Veuillez entrer un nombre valide de notes.";
}
}
?>
Voici le code de calculstat.php :
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$notes = [];
$nombre_notes = count($_POST);
for ($i = 1; $i <= $nombre_notes; $i++) {
$notes[] = isset($_POST["note$i"]) ? (float)$_POST["note$i"] : 0;
}
$moyenne = array_sum($notes) / $nombre_notes;
echo "Note minimale : " . min($notes) . "<br>";
echo "Note maximale : " . max($notes) . "<br>";
echo "Moyenne : " . $moyenne . "<br>";
} else {
header("Location: tpstat.html");
exit();
}
?>